﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PSE.Deployment.SetupBase.Configuration;
using System.Xml.Serialization;

namespace PSE.Deployment.SetupBase.Configuration
{
    [Serializable]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.Copy))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.CreateShortcut))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallAssembly))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallCertificate))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallWcfService))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallWcfServiceMain))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallProcessManagerProduct))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallProcessManagerInstance))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallWindowsService))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.InstallMessageQueue))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.RegisterComponent))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.RegisterComponentWin32))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.UpdateConfig))]
    [XmlInclude(typeof(PSE.Deployment.SetupBase.Configuration.Actions.UpdateWindowsRegistry))]
    public class SetupConfiguration
    {
        public string DefaultInstallPath { get; set; }
        public SystemInfo SystemInfo { get; set; }

        public SetupConfiguration()
        {
            SystemInfo = new SystemInfo();
        }
    }
}
